• 启动MongoDB

$mongod --fork --logpath=/data/log/r3.log
--fork 允许mongod后台运行,但是必须指定日志记录文件路径(Enables a daemon mode that runs the mongos process in the background.)
--logpath 指定日志记录文件路径

  • 导出Collections

$mongoexport -d test -c user -o user.dat
-d 指定数据库
-c 指定collections
-o 指定输出文件名称

  • 导出Collections为CSV格式

$mongoexport -d test -c user --csv -f uid,username,age -o user_csv.dat
-f 指明需要导出哪些列
—-csv 指明导出格式为CSV

  • 导入Collections

$mongoimport -d test -c user user.dat

  • 导入CSV文件

$mongoimport -d test -c user --type csv --headerline --file user_csv.dat
-type 指明要导入的文件格式
-headerline 批明不导入第一行,因为第一行是列名
-file 指明要导入的文件路径

  • 数据库备份

$ mongodump -d test
2016-02-19T16:44:20.538+0800 writing test.things to
2016-02-19T16:44:20.538+0800 writing test.students to
2016-02-19T16:44:20.538+0800 writing test.fs.chunks to
2016-02-19T16:44:20.538+0800 writing test.thins to
2016-02-19T16:44:20.539+0800 done dumping test.thins (9 documents)
2016-02-19T16:44:20.539+0800 done dumping test.things (20 documents)
2016-02-19T16:44:20.540+0800 done dumping test.students (8 documents)
2016-02-19T16:44:20.540+0800 writing test.user to
2016-02-19T16:44:20.540+0800 writing test.fs.files to
2016-02-19T16:44:20.540+0800 writing test.students_res to
2016-02-19T16:44:20.541+0800 done dumping test.fs.files (1 document)
2016-02-19T16:44:20.541+0800 done dumping test.students_res (1 document)
2016-02-19T16:44:20.541+0800 done dumping test.user (2 documents)
2016-02-19T16:44:20.544+0800 done dumping test.fs.chunks (5 documents)
也可以加入-o path_to_dump来指定备份的目录

  • 数据库恢复

$ mongorestore -d test dump/*
**如果想恢复数据库,可以不用先删除数据库,可以在命令后面加入-drop来删除表,然后再想表中插入数据

  • 查看数据库正在做什么

db.currentOp();

  • 创建数据库

MongoDB没有创建数据库的命令,可以直接使用use test来创建test数据库

  • 创建Collcetion

db.createCollection("questions");

  • MongoDB实时监控

此工具可以快速的查看某组运行中的 MongoDB 实例的统计信息
$mongostat
insert: 每秒插入量
query: 每秒查询量
update: 每秒更新量
delete: 每秒删除量
locked: 锁定量
qr | qw: 客户端查询排队长度(读|写)
ar | aw: 活跃客户端量(读|写)
conn: 连接数 time: 当前时间

  • 删除重复数据,建立索引(MongoDB 2.x)

coll.ensureIndex({productid:1}) // 在productid上建立普通索引
coll.ensureIndex({district:1, plate:1}) // 多字段索引
coll.ensureIndex({productid:1}, {unique:true}) // 唯一索引
coll.ensureIndex({productid:1}, {unique:true, dropDups:true}) // 建索引时,如果遇到索引字段值已经出现过的情况,则删除重复记录
coll.getIndexes() // 查看索引
coll.dropIndex({productid:1}) // 删除单个索

db.users.dropIndex({uid:1});
db.users.ensureIndex({uid:1, name:1}, {unique:true, dropDups:true});


Profeel
289 声望17 粉丝

Brilliant's everywhere.